<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<div id="page_nav">
    <!--  当前页码大于第一页,才会显示的 -->
    <c:if test="${requestScope.page.pageNo > 1}">
        <!-- 首页 就是第一页 -->
        <a href="${requestScope.page.url}&pageNo=1">首页</a>
        <!--上一页 = 当前页 - 1 -->
        <a href="${requestScope.page.url}&pageNo=${requestScope.page.pageNo-1}">上一页</a>
    </c:if>

    <%--			<a href="#">3</a>--%>
    <%--			【${requestScope.page.pageNo}】--%>
    <%--			<a href="#">5</a>--%>


    <%-- 页面输出的开始 --%>
    <c:choose>
        <%--情况1：如果总页码小于等于5的情况,页码的范围是:1-总页码--%>
        <c:when test="${requestScope.page.pageTotal <= 5}">
            <c:set var="begin" value="1" />
            <c:set var="end" value="${requestScope.page.pageTotal}"/>
        </c:when>
        <%--情况2：总页码数大于5的情况--%>
        <c:when test="${requestScope.page.pageTotal > 5}">
            <c:choose>
                <%--小情况1：当前页码为前面3个:1,2,3的情况,页码的范围是1-5--%>
                <c:when test="${requestScope.page.pageNo <= 3}">
                    <c:set var="begin" value="1"/>
                    <c:set var="end" value="5"/>
                </c:when>
                <%--小情况2：当前页码为最后3个,8,9,10,页码的范围是:总页码-4 到总页码 --%>
                <c:when test="${requestScope.page.pageNo > requestScope.page.pageTotal - 3}">
                    <c:set var="begin" value="${requestScope.page.pageTotal - 4}"></c:set>
                    <c:set var="end" value="${requestScope.page.pageTotal}"/>
                </c:when>
                <%--小情况3：  4.5.6.7页码范围是:当前页码减2  --- 当前页码+2
                除去前面的  ,   除去后面的    其他的就是中间的--%>
                <c:otherwise>
                    <c:set var="begin" value="${requestScope.page.pageNo-2}"/>
                    <c:set var="end" value="${requestScope.page.pageNo+2}"/>
                </c:otherwise>
            </c:choose>
        </c:when>
    </c:choose>

    <%--
    输出页码
    在页面上使用   c:set   设置的变量,可以在下面直接访问
    ---%>
    <c:forEach begin="${begin}" end="${end}" var="i">
        <%--如果当前页码等于当前正在访问的页码,那么就标注一下,并且不能点击切换--%>
        <c:if test="${i == requestScope.page.pageNo}">
            【${i}】
        </c:if>
        <c:if test="${i != requestScope.page.pageNo}">
            <a href="${requestScope.page.url}&pageNo=${i}">${i}</a>
        </c:if>
    </c:forEach>


    <!-- 如果当前的页面已经是最后一页,则不显示下一页,末页
         如果当前的页面不是最后一页,就显示下一页,末页
     -->
    <c:if test="${requestScope.page.pageNo < requestScope.page.pageTotal}">
        <!-- 下一页 = 当前页 + 1 -->
        <a href="${requestScope.page.url}&pageNo=${requestScope.page.pageNo+1}">下一页</a>
        <!-- 末页 = 总页码数 -->
        <a href="${requestScope.page.url}&pageNo=${requestScope.page.pageTotal}">末页</a>
    </c:if>

    共${requestScope.page.pageTotal}页，${requestScope.page.pageTotalCount}条记录 到第
    <input type="number" value="${param.pageNo}" name="pn" id="pn_input"/>页
    <input id="searchPageBtn" type="button" value="确定">
</div>
